package com.example.spinning.mapper;

import com.example.spinning.bean.Module;
import com.example.spinning.bean.Operation;
import com.example.spinning.bean.Organ;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
/**
 * 权限
 */
@Mapper
public interface PrivMapper {

    //模块
    List<Module> getAllModules();

    int deleteModuleByIds(@Param("ids") String[] ids);

    int updateModuleById(Module module);

    int addModule(Module module);

    List<Module> getSpecificModule(Module module);

    int getModuleIdByName(String module);


    //操作
    List<Operation> getAllOperations();

    int deleteOperationByIds(@Param("ids") String[] ids);

    int updateOperationById(Operation operation);

    int addOperation(Operation operation);

    List<Operation> getSpecificOperation(Operation operation);

    int getOperationIdByName(String operation);


//   模块+操作



    //添加模块与操作
    int addPriv(@Param("modules") int modules, @Param("operations") int operations);

//    查询模块与操作
    List<Module> getSpecificModules(@Param("module") int module, @Param("operation") int operation);

    int updatePriv(Module module);

    List<Module> getAllPrivs();

    int deletePrivs(@Param("ids") String[] ids);
//分页查询得到权限
    List<Module> getPrivByCondition(@Param("start") Integer start,
                          @Param("count") Integer count,
                          @Param("module") Module module);
    //查权全部权限不含分页
    List<Module> getPrivs(Module module);

    //查权全部权限通过nickname
    List<Module> getPrivsByNickname(@Param("nickname") String nickname,
                                    @Param("module") Module module);


    //由名字查询表的行数
    int getPrivCountByCondition(Module module);





}
